# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：3.8 小游戏game.py
# 开发时间：2021/3/15 22:42

'''
小游戏《唐僧大战白骨精》
1、身份选择
 1）显示提示信息
     欢迎光临《唐僧大战白骨精》游戏
     请选择身份进行游戏：
         1、唐僧
         2、白骨精
         3、不符合，自动分配
 2）根据用户选择来分配身份（显示不同的提示消息）
2、游戏进行
 1）显示玩家的基本信息（攻击力、生命值）
 2）显示玩家进行的操作：
    1、练级
        提升玩家的攻击力、生命值
    2、打boss
        玩家对boss进行攻击，玩家要攻击boss，boss对玩家反击
        计算boss是否被玩家消灭，玩家是否被boss消灭
        游戏结束
    3、逃跑
        退出游戏，显示提示信息，游戏结束！

分析：
第一部分，if-else
第二部分，while循环
'''
# 第一部分，展示
print("\n欢迎光临《唐僧大战白骨精》小游戏\n\n1.唐僧\n2.白骨精")
player_choose = int(input("请选择身份进行游戏："))
if player_choose == 1:
    print("不愧是你啊！选的是唐僧！\n")
elif player_choose == 2:
    print("你竟然选反派！你好不要脸啊！不行，你只能选白骨精！\n")
else:
    print("不是吧！1和2都输不对，那系统就勉为其难给你分配唐僧角色吧！\n")
# 第二部分，玩游戏
ATK_player = 0
HP_player = 1
ATK_boss = 1500
HP_boss = 5000
print(f"您当前的角色是：唐僧！\n您当前的攻击力：{ATK_player}\n您当前的生命值：{HP_player}")
while True:
    print("---------------------------------------------------------------")
    todo = int(input("\n\t\t1.练级\n\t\t2.打boss\n\t\t3.逃跑\n请选择一项任务进行："))
    # 选择练级，提升生命值，提升攻击力
    if todo == 1:
        ATK_player += 500
        HP_player += 500
        print(f"您当前的角色是：唐僧！\n您当前的攻击力：{ATK_player}\n您当前的生命值：{HP_player}")
    # 选择打boss
    elif todo == 2:
        # 战斗时，比较双方攻击力，计算受到的伤害
        if ATK_boss > ATK_player:
            HP_player -= ATK_boss - ATK_player
            print(f"唐僧 被 白骨精 的白骨打中，受到{ATK_boss - ATK_player}的伤害")
        else:
            HP_boss -= ATK_player - ATK_boss
            print(f"白骨精 被 唐僧 的木鱼砸中，受到{ATK_player - ATK_boss}的伤害")
        # 战斗之后看是否有一方已死亡
        if HP_boss <= 0:
            print("恭喜您！已经战胜boss!\n\t**GAME OVER**")
            break
        elif HP_player <= 0:
            print("很抱歉！唐僧因失血过多不治而亡!\n\t--GAME OVER--")
            break
        else:
            print(f"\n唐僧 当前的生命值：{HP_player}\n白骨精当前的生命值：{HP_boss}")
    # 选择逃跑！
    elif todo == 3:
        print(f"看见了白骨精，唐僧扭头就跑！\n此时玩家的攻击力：{ATK_player}\n此时妖怪的攻击力：{ATK_boss}\n\n")
        if HP_player > HP_boss and ATK_player > ATK_boss:
            print("好可惜！再念念经就赢了！\n\t**GAME OVER**")
            break
        elif HP_player < HP_boss and ATK_player < ATK_boss:
            print("吓死了！直接打你人就没了！\n\t**GAME OVER**")
            break
        else:
            print("说不定再练练级，就会有机会胜出哦！\n\t**GAME OVER**")
            break
    else:
        print("输入有误！重新选择！")


